﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Data.SqlClient;
using System.Data;
using System.Collections;

using XJX.DBCore;

namespace XJX.DataLayer
{
    public sealed class Borrow : XJX.DBCore.DBObject
    {
        public Borrow(string newConnectionString) : base(newConnectionString) { }

        //添加借阅记录
        public bool Add_New_Borrow
            (
            string juid,
            string cuid,
            string bid,
            out int ReturnValue
            )
        {
            int rowsAffected;//受影响的行数．

            SqlParameter[]
                parameters = {
								 new SqlParameter("@juid",SqlDbType.UniqueIdentifier),
								 new SqlParameter("@cuid",SqlDbType.UniqueIdentifier),
                                 new SqlParameter("@bid",SqlDbType.VarChar,12)
			};

            parameters[0].Value = new Guid(juid);
            parameters[1].Value = new Guid(cuid);
            parameters[2].Value = bid;

            try
            {
                ReturnValue = RunProcedure("Add_New_Borrow", parameters, out rowsAffected);
            }
            catch (SqlException e)
            {
                throw new System.Exception(e.Message);
            }
            return (ReturnValue == 0);//为0，在这里表示借阅成功！
        }

        //根据传入的过程名称，分别得到正借来的、正借出的、曾经借来的、曾经借出的图书列表。
        public DataSet Get_Borrow_Book_List(string proc, string UID, string TableName, int PageIndex, int PageSize, out int PageCount, out int TotalCount)
        {
            SqlParameter[]
                parameters = {
								 new SqlParameter("@UID", SqlDbType.UniqueIdentifier),
								 new SqlParameter("@pageindex", SqlDbType.Int),
								 new SqlParameter("@pagesize", SqlDbType.Int)
							 };

            parameters[0].Value = new Guid(UID);
            parameters[1].Value = PageIndex;
            parameters[2].Value = PageSize;

            using (DataSet ds = RunProcedure(proc, parameters, TableName, out PageCount, out TotalCount))
            {
                return ds;
            }
        }

        //根据传入的过程名称，分别得到正借来的确认和未确认、正借出的确认和未确认的图书列表。
        public DataSet Get_Borrow_Book_List(string proc, string UID, string TableName)
        {
            SqlParameter[]
                parameters = {
								 new SqlParameter("@UID", SqlDbType.UniqueIdentifier)
							 };

            parameters[0].Value = new Guid(UID);

            using (DataSet ds = RunProcedure(proc, parameters, TableName))
            {
                return ds;
            }
        }

    
    }
}
